package com.dd.ms.auth.api;

import com.dd.ms.auth.bo.UserInternalBO;
import com.dd.ms.auth.vo.UserVO;

/**
 * @Author liuxianmeng
 * @CreateTime 2025/7/8 17:15
 * @Description 类功能作用说明
 */
public interface UserInfoService {

    /**
     * 根据token获取用户信息
     *
     * @param accessToken 用户访问密钥
     * @param permissionRequired 是否需要查询权限
     * @return
     */
    UserVO getUserInfoByToken(String accessToken, Boolean permissionRequired);

    /**
     * 根据用户token获取用户密钥
     *
     * @param token
     * @return
     */
    String getUserApiKeyByToken(String token);

    /**
     * 根据用户访问密钥（apiKey的）获取用户秘密密钥
     *
     * @param apiAccessKey
     * @return
     */
    UserInternalBO getUserInfoByAccessKey(String apiAccessKey);
}
